package com.songshuai.pangu.api.dao.base;

import com.songshuai.pangu.api.model.base.TpoTagDetail;

import java.util.List;

/**
 * 此类为[基础代码]自动生成，已经拥有基本的增删改成操作
 * <其他请自行扩展>
 * @Author: 刘汉轩
 * @Date: 2019-03-15 13:44:25
 */
public interface TpoTagDetailMapper{
    
    /**
     * 根据主键查询单一记录
     * @param id
     * @return TpoTagDetail
     */
    TpoTagDetail selectByPrimaryKey(Integer id);
    
    /**
     * 根据条件查询多条记录
     * @param entity
     * @return List<TpoTagDetail>
     */
    List<TpoTagDetail> selectByEntityList(TpoTagDetail entity);
    
    /**
     * 根据条件查询单条记录
     * @param entity
     * @return TpoTagDetail
     */
    TpoTagDetail selectByEntity(TpoTagDetail entity);
    
    /**
     * 根据条件查询ID
     * @param entity
     * @return Integer
     */
    Integer selectById(TpoTagDetail entity);
  
    /**
     * 根据条件查询ID集合
     * @param entity
     * @return List<Integer>
     */
    List<Integer> selectByIds(TpoTagDetail entity);
    
    /**
     * 插入单条记录（全字段） 
     * @param entity 
     * @return int
     */
    int insert(TpoTagDetail entity);
    
    /**
     * 插入单条记录（字段为空则不添加） 
     * @param entity 
     * @return int
     */
    int insertSelective(TpoTagDetail entity);
    
    /**
     * 根据主键修改
     * @param entity 
     * @return int
     */
    int updateByPrimaryKey(TpoTagDetail entity);
    
    /**
     * 批量插入
     * @param entitys
     * @return int
     */
    int insertBatch(List<TpoTagDetail> entitys);
    
    /**
     * 根据主键批量修改
     * @param entitys
     * @return int
     */
    int updateBatch(List<TpoTagDetail> entitys);
    
	/**
     * 根据主键删除单条记录
     * @param id
     *
     */
    void deleteByPrimaryKey(Integer id);
	
    /**
     * 根据主键批量删除
     * @param list
     * @return int
     */
    int deleteBatch(List<Integer> list);

    /**
     * 根据某些条件删除
     * @param entity
     * @return int
     */
    int deleteByEntity(TpoTagDetail entity);
    
}